package co.com.smart.persistence.entity.dto;

import java.io.Serializable;

import javax.persistence.*;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * The persistent class for the smart_maestros database table.
 * 
 */
@Entity
@Table(name="smart_maestros")
@NamedQuery(name="SmartMaestro.findAll", query="SELECT s FROM SmartMaestro s")
public class SmartMaestro implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="sm_scmaestros")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	private BigDecimal smScmaestros;

	@Column(name="sm_comaestros")
	private String smComaestros;

	@Column(name="sm_cousuario")
	private String smCousuario;

	@Column(name="sm_dsmaestros")
	private String smDsmaestros;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhingreso")
	private Date smFhingreso;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhmodificacion")
	private Date smFhmodificacion;

	@Temporal(TemporalType.DATE)
	@Column(name="sm_fhretiro")
	private Date smFhretiro;

	//bi-directional many-to-one association to SmartDatosMaestro
	@OneToMany(cascade = CascadeType.ALL,mappedBy="smartMaestro", fetch = FetchType.LAZY)
	private List<SmartDatosMaestro> smartDatosMaestros;

	public SmartMaestro() {
	}

	public BigDecimal getSmScmaestros() {
		return this.smScmaestros;
	}

	public void setSmScmaestros(BigDecimal smScmaestros) {
		this.smScmaestros = smScmaestros;
	}

	public String getSmComaestros() {
		return this.smComaestros;
	}

	public void setSmComaestros(String smComaestros) {
		this.smComaestros = smComaestros;
	}

	public String getSmCousuario() {
		return this.smCousuario;
	}

	public void setSmCousuario(String smCousuario) {
		this.smCousuario = smCousuario;
	}

	public String getSmDsmaestros() {
		return this.smDsmaestros;
	}

	public void setSmDsmaestros(String smDsmaestros) {
		this.smDsmaestros = smDsmaestros;
	}

	public Date getSmFhingreso() {
		return this.smFhingreso;
	}

	public void setSmFhingreso(Date smFhingreso) {
		this.smFhingreso = smFhingreso;
	}

	public Date getSmFhmodificacion() {
		return this.smFhmodificacion;
	}

	public void setSmFhmodificacion(Date smFhmodificacion) {
		this.smFhmodificacion = smFhmodificacion;
	}

	public Date getSmFhretiro() {
		return this.smFhretiro;
	}

	public void setSmFhretiro(Date smFhretiro) {
		this.smFhretiro = smFhretiro;
	}

	public List<SmartDatosMaestro> getSmartDatosMaestros() {
		return this.smartDatosMaestros;
	}

	public void setSmartDatosMaestros(List<SmartDatosMaestro> smartDatosMaestros) {
		this.smartDatosMaestros = smartDatosMaestros;
	}

	public SmartDatosMaestro addSmartDatosMaestro(SmartDatosMaestro smartDatosMaestro) {
		getSmartDatosMaestros().add(smartDatosMaestro);
		smartDatosMaestro.setSmartMaestro(this);

		return smartDatosMaestro;
	}

	public SmartDatosMaestro removeSmartDatosMaestro(SmartDatosMaestro smartDatosMaestro) {
		getSmartDatosMaestros().remove(smartDatosMaestro);
		smartDatosMaestro.setSmartMaestro(null);

		return smartDatosMaestro;
	}

}